package com.jzo2o.health.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.common.model.PageResult;
import com.jzo2o.health.model.domain.Orders;
import com.jzo2o.health.model.dto.request.OrdersPageQueryReqDTO;
import com.jzo2o.health.model.dto.response.AdminOrdersDetailResDTO;
import com.jzo2o.health.model.dto.response.OrdersCountResDTO;
import com.jzo2o.health.model.dto.response.OrdersDetailResDTO;
import com.jzo2o.health.model.dto.response.OrdersResDTO;

import java.util.List;

/**
 * 订单管理相关业务层
 * @author JIAN
 */
public interface IOrderManagerService extends IService<Orders> {
    /**
     * 管理端订单分页查询
     */
    PageResult<OrdersResDTO> pageQuery(OrdersPageQueryReqDTO ordersPageQueryReqDTO);

    /**
     * 用户端订单分页查询
     */
    List<OrdersResDTO> pageQuery(Integer orderStatus, Long sortBy);

    /**
     * 管理端查询订单详情
     */
    AdminOrdersDetailResDTO getAggregationInfo(Long id);

    /**
     * 用户端获取订单详情
     */
    OrdersDetailResDTO getOrderById(Long id);

    /**
     * 获取每种状态的订单数
     */
    OrdersCountResDTO countByStatus();
}